package com.bsj.power.common.util;

import com.bsj.power.common.config.exception.ApiException;
import com.bsj.power.common.config.global.JsonResultEnum;
import org.apache.commons.lang3.StringUtils;
import org.springframework.util.CollectionUtils;

import java.util.Collection;

/**
 * @author LiJiaXin
 * @version 1.0.0
 * @description ParamCheckUtil
 * @time 2024/4/18 20:14
 */
public class ParamCheckUtil {

    /**
     * 是否为空
     *
     * @param obj
     * @return void
     * @author ljx
     * @time 2024/4/18 20:16
     */
    public static void isNull(Object obj) {
        if (null == obj) {
            throw new ApiException(JsonResultEnum.PARAM_ERROR);
        }
    }

    /**
     * 是否为空
     *
     * @param obj
     * @return void
     * @author ljx
     * @time 2024/4/18 20:16
     */
    public static void isNull(Object obj, JsonResultEnum jsonResultEnum) {
        if (null == obj) {
            throw new ApiException(jsonResultEnum);
        }
    }

    /**
     * 是否不为空
     *
     * @param obj
     * @param jsonResultEnum
     * @return void
     * @author ljx
     * @time 2024/5/8 19:19
     */
    public static void isNotNull(Object obj, JsonResultEnum jsonResultEnum) {
        if (null != obj) {
            throw new ApiException(jsonResultEnum);
        }
    }

    /**
     * 是否为空
     *
     * @param str
     * @return void
     * @author ljx
     * @time 2024/5/7 20:21
     */
    public static void isBlank(String str) {
        if (StringUtils.isBlank(str)) {
            throw new ApiException(JsonResultEnum.PARAM_ERROR);
        }
    }

    /**
     * 是否有一个为空
     *
     * @param str
     * @return void
     * @author ljx
     * @time 2024/5/13 16:00
     */
    public static void isAnyBlank(String... str) {
        if (StringUtils.isAnyBlank(str)) {
            throw new ApiException(JsonResultEnum.PARAM_ERROR);
        }
    }

    /**
     * 是否为空
     *
     * @param collection
     * @return void
     * @author ljx
     * @time 2024/4/19 14:40
     */
    public static void isEmpty(Collection collection) {
        if (CollectionUtils.isEmpty(collection)) {
            throw new ApiException(JsonResultEnum.PARAM_ERROR);
        }
    }

    /**
     * 是否为空
     *
     * @param collection
     * @param jsonResultEnum
     * @return void
     * @author ljx
     * @time 2024/4/19 14:41
     */
    public static void isEmpty(Collection collection, JsonResultEnum jsonResultEnum) {
        if (CollectionUtils.isEmpty(collection)) {
            throw new ApiException(jsonResultEnum);
        }
    }

    /**
     * 是否不为空
     *
     * @param collection
     * @param jsonResultEnum
     * @return void
     * @author ljx
     * @time 2024/6/28 11:17
     */
    public static void isNotEmpty(Collection collection, JsonResultEnum jsonResultEnum) {
        if (!CollectionUtils.isEmpty(collection)) {
            throw new ApiException(jsonResultEnum);
        }
    }

}
